Consulta de Guías Docentes



Academic Year/course: 2022/23

615 - Máster Universitario en Robótica, Gráficos y Visión por Computador / Robotics, Graphics and Computer Vision

69151 - Computer Vision


Syllabus Information

Academic Year:
2022/23
Subject:
69151 - Computer Vision
Faculty / School:
110 - Escuela de Ingeniería y Arquitectura
Degree:
615 - Máster Universitario en Robótica, Gráficos y Visión por Computador / Robotics, Graphics and Computer Vision
ECTS:
6.0
Year:
1
Semester:
First semester
Subject Type:
Compulsory
Module:
---

1. General information

1.1. Aims of the course

The objective is the computational processing of images or digital video sequences for the inference of geometric properties, both for the observed 3D scene, and  for the trajectory that the camera follows during the filming of the images. More specifically covering:

  1. The physical principles and models of camera imaging.
  2. The mathematical and probabilistic foundations for coding the geometric information and its uncertainty.
  3. The fundamentals of image processing.
  4. The usual algorithmic and computational techniques in computer vision.

These approaches and objectives are aligned with some of the Sustainable Development Goals, SDG, of the 2030 Agenda (https://www.un.org/sustainabledevelopment/es/) and certain specific goals, in such a way that the acquisition of the Learning outcomes of the subject provides training and competence to the student to contribute to a certain extent to their achievement:

  • Objective 9: Industry, innovation and infrastructure
    • Target 9.5 Increase scientific research and improve the technological capacity of industrial sectors in all countries, particularly developing countries, including by fostering innovation and significantly increasing, by 2030, the number of people working in research and development per million inhabitants and the spending of the public and private sectors in research and development

 

1.2. Context and importance of this course in the degree

Compulsory course of 6 ECTS, it is taught in the first semester. It provides fundamental background for the processing of images and digital image sequences.

 

1.3. Recommendations to take this course

Python programming.

 

2. Learning goals

2.1. Competences

The student will acquire the following basic and general competences:

 

  • CB7 - That students know how to apply the acquired knowledge and ability to solve problems in new or little-known settings within broader (or multidisciplinary) contexts related to their area of ​​study.
  • CB9 - That students know how to communicate their conclusions and the latest knowledge and reasons that support them to specialized and non-specialized audiences in a clear and unambiguous way.
  • CB10 - That students possess the learning skills that allow them to continue studying in a way that will have to be largely self-directed or autonomous.
  • CG01 – Acquisition of advanced and demonstrated knowledge, in a context of scientific and technological research or highly specialized, a detailed and well-founded understanding of the theoretical and practical aspects and of the working methodology in the fields of Robotics, Graphics and / or Computer Vision, allowing them to be innovative in a context of research, development and innovation.
  • CG03 - Ability to evaluate and select the appropriate scientific theory and the precise methodology of their fields of study to formulate judgments based on incomplete or limited information, including, when necessary and pertinent, considerations on social or ethical responsibility linked to the solution that is proposed in each case.
  • CG05 - Ability to transmit in English, orally and in writing, in a clear and unambiguous way, to a specialized audience or not, results from scientific and technological research or the most advanced field of innovation, as well as the most relevant foundations on which they are based.
  • CG06 – To have developed sufficient autonomy to participate in research projects and scientific or technological collaborations within their subject area, in interdisciplinary contexts and, where appropriate, with a high component of knowledge transfer.
  • CG07 - Ability to take responsibility for your own professional development and specialization in one or more fields of study.
  • CG08 – To possess the aptitudes, skills and method necessary to carry out multidisciplinary research and / or development work in the fields of Robotics, Graphics and / or Computer Vision.
  • CG11 - Ability to manage and use bibliography, documentation, databases, software and hardware specific to the fields of Robotics, Graphics and / or Computer Vision.
  • CG12 - Ability to work in a multidisciplinary group and in a multilingual environment.

The student will acquire the following specific competences:

 

  • CE01 - Ability to apply mathematical and artificial intelligence methods to model, design and develop Robotics, Graphics and / or Computer Vision systems and applications.
  • CE02 - Ability to design and develop new methods and algorithms applicable to autonomous systems or virtual and augmented reality.
  • CE06 - Ability to conceive, design and develop software, products and systems in the field of Computer Vision.
  • CE09 - Ability to autonomously carry out a work of initiation to research and / or development in the field of Robotics, Graphics, or Computer Vision, in which the skills acquired in the degree are synthesized and integrated.

 

 

2.2. Learning goals

The student must be able to:

  1. Know the parametrization and the mathematical models of the image formation with 3D projective cameras, both in its geometric and photometric aspects.
  2. Know the algorithms of image processing and image feature detection.
  3. Know the formulation of multi-view geometry and the estimation of 3D information from projective images.
  4. Know the formulation of stereo correspondences and optical flow.
  5. Know specific models and algorithms for omnidirectional vision.
  6. Design and develop systems that make inferences about the 3D structure of the scene from images.
  7. Evaluate the performance of computer vision systems in operation.
  8. Propose new algorithms that address unresolved aspects of the operation of a 3D vision system and the evaluation of its performance.
  9. Develop software that processes real images using the most popular libraries of computer vision, mathematical operations and non-linear optimization.

 

2.3. Importance of learning goals

Computer vision is a combination of computing, image processing, geometry, and probability. The course provides the theoretical support to understand the combined fundamentals, it also provides programming skills to produce software implementations and the methodologies to assess and exploit the results. Visual information is basic to robotic systems. Computer vision has a very close relationship with computational photography, virtual reality and augmented reality because it shares the same physical and mathematical models.

3. Assessment (1st and 2nd call)

3.1. Assessment tasks (description of tasks, marking system and assessment criteria)

A continuous assessment system is applied. It is composed of the following assessment activities programmed throughout the course:

E01 -Laboratory tests/interviews, in which each practice session is assessed (25 30%). The understanding of the theoretical foundations, the ability to produce an efficient implementation and experimental validation will be considered.

E02 -Course assignment, a project which globally combines the contents of the course (70%). - The student faces a new problem, the assessment criteria are:

  1. Ability to tackle new situations using the course theoretical contents and algorithms.
  2. Implementation efficiency.
  3. Experimental validation.
  4. Presentation of the results in an oral talk and/or a written report.

Students will also be able to pass the course through a global assessment carried out on the day designated by the school, passing the same activities above mentioned in the continuous assessment.

 

 

4. Methodology, learning tasks, syllabus and resources

4.1. Methodological overview

The methodology followed in this course is oriented towards the achievement of the learning objectives. A wide range of teaching and learning tasks are implemented. Students are expected to participate actively in the class throughout the semester.

 

Classroom materials will be available via Moodle. These include a repository of the lecture notes used in class, the course syllabus, as well as other course-specific learning materials, including a discussion forum.

 

Further information regarding the course will be provided on the first day of class.

4.2. Learning tasks

A01 Lectures (30 hours) Theoretical content sessions. The concepts and foundations will be presented. Student participation will be encouraged through questions and short discussions.

 

A02 Practice sessions (6 hours) Small Python programs to exercise the basic concepts of the course.

 

A03 Laboratory practices (16 hours). Exercises of medium complexity. They require combining theoretical concepts with standard computer vision libraries, producing software able to actual image sequences. The performance is evaluated experimentally. 6 sessions have been scheduled.

 

A05 Course assignment (32 hours). Course project facing an open problem. The students have to combine all the theoretical background and algorithms in the course.

 

A07 Autonomous work (60 hours).- The autonomous work of the student will be devoted to:

  1. In-depth study of the contents and readings prior to the lectures, using the bibliography.
  2. Completion of the exercises proposed in the practice sessions.
  3. Preparation and completion of the laboratory practice assignments.
  4. Reading scientific articles related to the course contents.

 

A08 Assessment (6 hours). Time dedicated to continuous assessment activities, in which the student presents the outcome of the assignments. 

 

 

4.3. Syllabus

  1. Image formation, geometric and photometric models.
  2. Image processing, local features.
  3. Alignment and calibration based on local features.
  4. Structure from motion.
  5. Multi-view geometry.
  6. Estimation of dense motion. Optical flow and stereo correspondence.
  7. Omnidirectional vision.

4.4. Course planning and calendar

Lectures are scheduled according to the timetable defined by EINA on its webpage.

Further information concerning the timetable, classroom, office hours, assessment dates and other details regarding this course will be provided on the first day of class or please refer to http://moodle.unizar.es/

4.5. Bibliography and recommended resources

  1. Szeliski, Richard. Computer vision : algorithms and applications London. Springer, cop. 2011.  Szeliski, Richard. Computer vision: algorithms and applications. Second Edition. Springer, Nature. 2022.
  2. Hartley, Richard and Zisserman, Andrew. Multiple view geometry in computer vision.  2nd ed. Cambridge. Cambridge University Press, 2003.
  3. Kaehler A and Bradski Gary. Learning OpenCV 3: Computer Vision in C++ with the OpenCV.  O’Reilly Media. 2017.
  4. Robert Johansson. Numerical Python: Scientific Computing and Data Science Applications with Numpy, SciPy and Matplotlib, Apress; Edición: 2nd ed. 2018.
  5. Howse Joseph, Minichino, Joe. Learning OpenCV 4 Computer Vision with Python 3: Get to grips with tools, techniques, and algorithms for computer vision and machine learning, 3rd Edition, Packt Publishing. 2020.


Curso Académico: 2022/23

615 - Máster Universitario en Robótica, Gráficos y Visión por Computador / Robotics, Graphics and Computer Vision

69151 - Computer Vision


Información del Plan Docente

Año académico:
2022/23
Asignatura:
69151 - Computer Vision
Centro académico:
110 - Escuela de Ingeniería y Arquitectura
Titulación:
615 - Máster Universitario en Robótica, Gráficos y Visión por Computador / Robotics, Graphics and Computer Vision
Créditos:
6.0
Curso:
1
Periodo de impartición:
Primer semestre
Clase de asignatura:
Obligatoria
Materia:
---

1. Información Básica

1.1. Objetivos de la asignatura

El objetivo de la asignatura es el  procesamiento computacional de imágenes o secuencias de vídeo digital para la inferencia de propiedades geométricas, tanto de la escena 3D observada, como de la trayectoria que sigue la cámara durante la filmación de las imágenes cubriendo:

  1. Los principios físicos y modelos de la formación de imágenes en cámara.
  2. Los fundamentos matemáticos y probabilistas del manejo de información geométrica y de su incertidumbre.
  3. Los fundamentos de procesamiento de imágenes.
  4. Las técnicas algorítmicas y computacionales habituales en visión por computador

Estos planteamientos y objetivos están alineados con algunos de los Objetivos de Desarrollo Sostenible, ODS, de la Agenda 2030 (https://www.un.org/sustainabledevelopment/es/) y determinadas metas concretas, de tal manera que la adquisición de los resultados de aprendizaje de la asignatura proporciona capacitación y competencia al estudiante para contribuir en cierta medida a su logro:

  • Objetivo 9: Industria, innovación e infraestructuras
    • Meta 9.5 Aumentar la investigación científica y mejorar la capacidad tecnológica de los sectores industriales de todos los países, en particular los países en desarrollo, entre otras cosas fomentando la innovación y aumentando considerablemente, de aquí a 2030, el número de personas que trabajan en investigación y desarrollo por millón de habitantes y los gastos de los sectores público y privado en investigación y desarrollo

1.2. Contexto y sentido de la asignatura en la titulación

Asignatura obligatoria de 6 ECTS impartida en el primer semestre. Aporta conocimientos fundamentales para el tratamiento de imágenes y secuencias de imágenes digitales.

 

 

1.3. Recomendaciones para cursar la asignatura

Programación en Python.

 

 

2. Competencias y resultados de aprendizaje

2.1. Competencias

El estudiante adquirirá las siguientes competencias básicas y generales:

 

  • CB7 - Que los estudiantes sepan aplicar los conocimientos adquiridos y su capacidad de resolución de problemas en entornos nuevos o poco conocidos dentro de contextos más amplios (o multidisciplinares) relacionados con su área de estudio.
  • CB9 - Que los estudiantes sepan comunicar sus conclusiones y los conocimientos y razones últimas que las sustentan a públicos especializados y no especializados de un modo claro y sin ambigüedades
  • CB10 - Que los estudiantes posean las habilidades de aprendizaje que les permitan continuar estudiando de un modo que habrá de ser en gran medida autodirigido o autónomo.
  • CG01 - Haber adquirido conocimientos avanzados y demostrado, en un contexto de investigación científica y tecnológica o altamente especializado, una comprensión detallada y fundamentada de los aspectos teóricos y prácticos y de la metodología de trabajo en los ámbitos de la Robótica, Gráficos y/o Visión por Computador, que les permitan ser innovadores en un contexto de investigación, desarrollo e innovación.
  • CG03 - Capacidad para evaluar y seleccionar la teoría científica adecuada y la metodología precisa de sus campos de estudio para formular juicios a partir de información incompleta o limitada incluyendo, cuando sea preciso y pertinente, una reflexión sobre la responsabilidad social o ética ligada a la solución que se proponga en cada caso
  • CG05 - Capacidad para transmitir en inglés, de manera oral y escrita, de un modo claro y sin ambigüedades a un público especializado o no, resultados procedentes de la investigación científica y tecnológica o del ámbito de la innovación más avanzada, así como los fundamentos más relevantes sobre los que se sustentan.
  • CG06 - Haber desarrollado la autonomía suficiente para participar en proyectos de investigación y colaboraciones científicas o tecnológicas dentro su ámbito temático, en contextos interdisciplinares y, en su caso, con una alta componente de transferencia del conocimiento.
  • CG07 - Capacidad para asumir la responsabilidad de su propio desarrollo profesional y de su especialización en uno o más campos de estudio.
  • CG08 - Poseer las aptitudes, destrezas y método necesarios para la realización de un trabajo de investigación y/o desarrollo de tipo multidisciplinar en los ámbitos de la Robótica, Gráficos y/o Visión por Computador.
  • CG11 - Capacidad para gestionar y utilizar bibliografía, documentación, bases de datos, software y hardware específicos de los ámbitos de la Robótica, Gráficos y/o Visión por Computador.
  • CG12 - Capacidad para trabajar en un grupo multidisciplinar y en un entorno multilingüe

 

El estudiante adquirirá la siguientes competencias específicas:

 

  • CE01 - Capacidad para aplicar métodos matemáticos y de inteligencia artificial para modelar, diseñar y desarrollar sistemas y aplicaciones de Robótica, Gráficos y Visión por Computador.
  • CE02 - Capacidad para diseñar y desarrollar nuevos métodos y algoritmos aplicables a sistemas autónomos o de realidad virtual y aumentada.
  • CE06 - Capacidad para concebir, diseñar y desarrollar software, productos y sistemas en el ámbito de la visión por computador.
  • CE09 - Capacidad para desarrollar de forma autónoma un trabajo de iniciación a la investigación y/o desarrollo en el ámbito de la robótica, gráficos, o visión por computador, en el que se sinteticen e integren las competencias adquiridas en la titulación.

 

2.2. Resultados de aprendizaje

  1. Conocer la parametrización y los modelos matemáticos de la formación de imágenes con cámara proyectiva en 3D tanto en sus aspectos geométricos como fotométricos.
  2. Conocer los algoritmos de procesamiento de imágenes y detección de características en las imágenes.
  3. Conocer la formulación de la geometría multi-vista y de la estimación de información 3D a partir de imágenes proyectivas
  4. Conocer la formulación de la correspondencia estéreo y del flujo óptico.
  5. Conocer modelos y algoritmos específicos para visión omnidireccional
  6. Diseñar y desarrollar sistemas que hagan inferencias de la estructura 3D de la escena a partir de imágenes.
  7. Evaluar las prestaciones de sistemas de visión por computador en operación.
  8. Proponer nuevos algoritmos que aborden aspectos no resueltos de la operación de un sistema de visión 3D y la evaluación de sus prestaciones.
  9. Construcción de software que procese imágenes reales empleando las bibliotecas más populares de visión por computador, operaciones matemáticas y optimización no lineal.

2.3. Importancia de los resultados de aprendizaje

La visión por computador se fundamenta en una combinación de informática, procesamiento de imagen, geometría y probabilidad. La asignatura proporciona el soporte teórico para poderla comprender, también proporciona las destrezas de programación para poder valorar y explotar sus resultados. La información visual es básica para los sistemas robotizados. La visión por computador tiene una relación muy estrecha con la fotografía computacional, la realidad virtual y la realidad aumentada porque comparte los mismos modelos físicos y matemáticos.

 

 

3. Evaluación

3.1. Tipo de pruebas y su valor sobre la nota final y criterios de evaluación para cada prueba

La evaluación de la asignatura es continua y consta de las siguientes componentes programadas a lo largo del curso:

  1. E01 - Prueba laboratorio en la que se evalúa cada práctica (25 30 %). Se valorará la comprensión de los fundamentos teóricos, la capacidad de producir una implementación eficiente y la validación experimental.
  2. E02 - Trabajo dirigido, que combina de forma global los contenidos de la asignatura (70 %).- El estudiante se enfrenta a un problema nuevo valorándose:
    1. Capacidad de abordar nuevas situaciones  apoyándose en los contenidos teóricos y los algoritmos estudiados en la asignatura. 
    2. Eficiencia de la implementación.
    3. Validación experimental.
    4. Exposición de los resultados en presentación oral y/o memoria escrita.

Los estudiantes también podrán superar la asignatura mediante una prueba global realizada el día señalado por el centro, superando las mismas pruebas, que en la evaluación continua.

 

 

4. Metodología, actividades de aprendizaje, programa y recursos

4.1. Presentación metodológica general

La metodología está orientada hacia el logro de los objetivos de aprendizaje. Se implementa una amplia gama de tareas de enseñanza y aprendizaje. Se espera que los estudiantes participen activamente en clase durante todo el semestre. Se fomentará la interacción de los estudiantes con el profesorado mediante las tutorías.

 

Los materiales del aula estarán disponibles a través de Moodle. Estos incluyen un repositorio de las notas de clase utilizadas en la clase, el programa del curso, así como otros materiales de aprendizaje específicos del curso, incluido un foro de discusión.

 

Se proporcionará más información sobre el curso el primer día de clase.

4.2. Actividades de aprendizaje

A01 Clases magistrales (30 horas) 

Sesiones expositivas de contenidos teóricos. Se presentarán los conceptos y fundamentos. Se fomentará la participación del estudiante a través de preguntas y breves debates. 

 

A02 Clases de problemas (6 horas) Pequeños programas en Python para ejercitar los conceptos básicos de la asignatura.

 

A03 Prácticas de laboratorio (16 horas). Ejercicios de complejidad media. Requieren de la combinación de los conceptos teóricos  con las bibliotecas estándar en visión por computador para procesar secuencias reales de imágenes y evaluar prestaciones.  Se han programado 6 sesiones.

 

A05 Trabajos de aplicación (32 horas). Ejercicio de alta complejidad enfrentándose a un problema abierto. Deben combinar todos los conocimientos y algoritmos desarrollados en la asignatura.

 

A07 Estudio y trabajo personal (60 horas).-  El trabajo autónomo del estudiante en esta asignatura se dedicará a: 

  1. Profundización en los contenidos y lecturas previas a las clases magistrales, usando la bibliografía.
  2. Compleción de los ejercicios planteados en las clases de problemas.
  3. Preparación y compleción del trabajo desarrollado en las sesiones de prácticas de laboratorio.
  4. Lectura de artículos científicos relacionados con los conceptos de la asignatura.

 

A08 Evaluación (6 horas) Esta es el tiempo dedicado a las pruebas de evaluación continua, en la que el alumno expone al profesor el trabajo realizado.

 

4.3. Programa

  1. Formación de imagen, modelos geométricos y fotométricos
  2. Procesamiento de imagen y características locales ( local features )
  3. Alineación y calibración basada en características locales
  4. Structure from motion
  5. Geometría multi-vista
  6. Estimación de movimiento densa. Flujo óptico y correspondencia estéreo.
  7. Visión Omnidireccional 

 

4.4. Planificación de las actividades de aprendizaje y calendario de fechas clave

Las clases magistrales se imparten según horario establecido por el centro, y publicado en su web. 

 

La relación y fecha de las diversas actividades y tutorías, junto con todo tipo de información y documentación sobre la asignatura, se publicará en http://moodle.unizar.es/

 

 

4.5. Bibliografía y recursos recomendados

  1. Szeliski, Richard. Computer vision: algorithms and applications. Second Edition. Springer, Nature. 2022.
  2. Hartley, Richard and Zisserman, Andrew. Multiple view geometry in computer vision.  2nd ed. Cambridge. Cambridge University Press, 2003.
  3. Kaehler A and Bradski Gary. Learning OpenCV 3: Computer Vision in C++ with the OpenCV.  O’Reilly Media. 2017.
  4. Robert Johansson. Numerical Python: Scientific Computing and Data Science Applications with Numpy, SciPy and Matplotlib, Apress; Edición: 2nd ed. 2018.
  5. Howse Joseph, Minichino, Joe. Learning OpenCV 4 Computer Vision with Python 3: Get to grips with tools, techniques, and algorithms for computer vision and machine learning, 3rd Edition, Packt Publishing. 2020.